// pages/userDetail/userDetail.js
import { getUserInfo } from '../../api/user';
import { getRecipes } from '../../api/recipes';
const app = getApp(); // 获取 app.js 的实例
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userId: '',
    userInfo: {},
    userRecipes: [],
    current: 1,
    pageSize: 10,
    hasMore: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    console.log("userDetail onLoad options:", options);
    await app.checkLoginStatus();
    const { userId } = options;
    this.setData({ userId });
    this.loadUserDetail(userId);
    this.loadUserRecipes(userId);
  },

  loadUserDetail(userId) {
    // 获取用户详情
    getUserInfo(userId).then(res => {
      console.log("获取用户详情返回数据:", res);
      if (res && res.success) {
        // 如果返回格式是 {success: true, data: {...}}
        this.setData({ userInfo: res.data });
      } else if (res && res.data) {
        // 如果返回格式是 {data: {...}}
        this.setData({ userInfo: res.data });
      } else if (res) {
        // 如果直接返回用户数据
        this.setData({ userInfo: res });
      } else {
        wx.showToast({
          title: '获取用户信息失败',
          icon: 'none'
        });
      }
    }).catch(err => {
      console.error('获取用户详情失败', err);
      wx.showToast({
        title: '获取用户信息失败',
        icon: 'none'
      });
    });
  },

  loadUserRecipes(userId) {
    if (!this.data.hasMore) return;

    const params = {
      userId: userId,
      current: this.data.current,
      pageSize: this.data.pageSize
    };
    // 获取用户的菜谱
    getRecipes(params).then(res => {
      if (res.success) {
        const newRecipes = res.data.records;
        this.setData({
          userRecipes: this.data.userRecipes.concat(newRecipes),
          hasMore: newRecipes.length === this.data.pageSize,
          current: this.data.current + 1
        });
      }
    }).catch(err => {
      console.error('获取用户菜谱失败', err);
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    this.loadUserRecipes(this.data.userId);
  },

  /**
   * 点击食谱项跳转到食谱详情页
   */
  viewRecipe(event) {
    // 从 dataset 中获取 recipeId
    const recipeId = event.currentTarget.dataset.recipeId;
    console.log("跳转到食谱详情页，recipeId:", recipeId);
    
    // 检查 recipeId 是否存在
    if (!recipeId) {
      console.error("recipeId 不存在:", event.currentTarget.dataset);
      wx.showToast({
        title: '无法获取菜谱信息',
        icon: 'none'
      });
      return;
    }
    
    // 跳转到食谱详情页
    wx.navigateTo({
      url: `/pages/recipeDetail/recipeDetail?recipeId=${recipeId}`
    });
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})